﻿
@{
    ViewBag.title = "商品管理";
    Admin my = Admin.GetMyInfo();
    List<int> aclist = new List<int>();
    if (my.Roles.IsSuperAdmin != 1 && !string.IsNullOrEmpty(my.Roles.AuthorizedCagegory))
    {
        aclist = Newtonsoft.Json.JsonConvert.DeserializeObject<List<int>>(my.Roles.AuthorizedCagegory);
    }
}
<div class="wrapper wrapper-content">
    <div class="ibox float-e-margins">
        <div class="ibox-title">
            <h5>@ViewBag.title</h5>
            <div class="ibox-tools">
            </div>
        </div>
        <div class="ibox-content">
            <div class="panel panel-default">
                <div class="panel-heading">筛选条件</div>
                <div class="panel-body">
                    <form id="formSearch" class="form-horizontal form-inline" onsubmit="return doSearch(); return false;">
                        <div>
                            <label class="control-label">商品分类：</label>

                            <select class="form-control" name="kid" id="kid">
                                <option value="0">所有分类</option>
                                @foreach (var m in ViewBag.ListKinds)
                                {

                                    if (my.Roles.IsSuperAdmin != 1 && aclist.Count > 0)
                                    {
                                        if (aclist.FindIndex(x => x == m.Id) > -1)
                                        {
                                            <option value="@m.Id">@m.KindName</option>
                                        }
                                    }
                                    else
                                    {
                                        <option value="@m.Id">@m.KindName</option>
                                    }
                                }
                            </select>
                            <label class="checkbox-inline i-checks">
                                <input type="checkbox" value="1" name="isshowsub" id="isshowsub" /> 显示下级栏目商品
                            </label>
                            <label class="control-label">关键字：</label>
                            <input type="text" placeholder="标题关键字" name="keyword" id="keyword" class="form-control">
                            <button type="button" style="margin-left:50px" id="btn_query" class="btn btn-primary" onclick="doSearch();">查询</button>
                        </div>
                    </form>
                </div>
            </div>
            <div id="toolbar" class="btn-group">
                <button id="btn_add" type="button" class="btn btn-outline btn-default" onclick="top.showDialog('addarticle','添加商品','/AdminCP/Product/AddProduct',0,0)">
                    <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>新增
                </button>
                @*<button id="btn_edit" type="button" class="btn btn-outline btn-default">
                        <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>修改
                    </button>
                    <button id="btn_delete" type="button" class="btn btn-outline btn-default">
                        <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>删除
                    </button>*@
            </div>
            <table id="tb_departments"></table>

            <script>
                    $(function () {

                        //1.初始化Table
                        var oTable = new TableInit();
                        oTable.Init();

                        //2.初始化Button的点击事件
                        var oButtonInit = new ButtonInit();
                        oButtonInit.Init();

                    });
                    function doSearch() {
                        var params = $('#tb_departments').bootstrapTable('getOptions');
                        //console.log(params);
                        params.queryParams = function (params) {

                            var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
                                limit: params.limit,   //页面大小
                                page: (params.offset / params.limit) + 1,  //页码
                                kid: $("#kid").val(),
                                keyword: $("#keyword").val(),
                                isshowsub: $("#isshowsub").prop("checked") ? 1:0
                            };
                            return temp;
                        }
                        $('#tb_departments').bootstrapTable('refresh', params);
                    }

                    var TableInit = function () {
                        var oTableInit = new Object();
                        //初始化Table
                        oTableInit.Init = function () {
                            $('#tb_departments').bootstrapTable({
                                url: '/AdminCP/Product/GetProductList',         //请求后台的URL（*）
                                method: 'get',                      //请求方式（*）
                                toolbar: '#toolbar',                //工具按钮用哪个容器
                                striped: true,                      //是否显示行间隔色
                                cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
                                pagination: true,                   //是否显示分页（*）
                                sortable: false,                     //是否启用排序
                                sortOrder: "asc",                   //排序方式
                                queryParams: oTableInit.queryParams,//传递参数（*）
                                sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
                                pageNumber: 1,                       //初始化加载第一页，默认第一页
                                pageSize: 25,                       //每页的记录行数（*）
                                pageList: [10, 25, 50, 100],        //可供选择的每页的行数（*）
                                search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
                                strictSearch: true,
                                showColumns: true,                  //是否显示所有的列
                                showRefresh: true,                  //是否显示刷新按钮
                                minimumCountColumns: 2,             //最少允许的列数
                                clickToSelect: true,                //是否启用点击选中行
                                height: 0,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
                                uniqueId: "Id",                     //每一行的唯一标识，一般为主键列
                                showToggle: true,                    //是否显示详细视图和列表视图的切换按钮
                                cardView: false,                    //是否显示详细视图
                                detailView: false,                   //是否显示父子表
                                columns: [{
                                    checkbox: true
                                }, {
                                    field: 'Id',
                                    title: 'ID'
                                }, {
                                        field: 'Category.KindName',
                                    title: '所属分类'
                                }, {
                                    field: 'Title',
                                        title: '商品标题',

                                }, {
                                    field: 'Price',
                                    title: '商品价格'
                                },
                                {
                                    field: 'Sequence',
                                    title: '排序',
                                    width: 130,
                                    formatter: function (value, row, index) {
                                        return '<div class="input-group"><input type="number" class="form-control" id="ac_rank_' + row["Id"] + '" name="ac_rank_' + row["Id"] + '" value="' + value + '" placeholder="请输入一个数字，越小排越前"><a class="input-group-addon btn btn-primary" title="修改保存" href="javascript:;" onclick="doSaveSequence(' + row["Id"] + ')"><i class="fa fa-save"></i></a></div>'
                                    }
                                }, {
                                    field: 'AddTime',
                                    title: '添加时间',
                                    width: 150
                                }, {
                                    field: 'IsNew',
                                    title: '最新',
                                    align: 'center',
                                    formatter: 'newFormatter',
                                    width: 65
                                }, {
                                    field: 'IsRecommend',
                                    title: '推荐',
                                    align: 'center',
                                    formatter: 'recommendFormatter',
                                    width: 65
                                }, {
                                    field: 'IsHide',
                                    title: '隐藏',
                                    align: 'center',
                                    formatter: 'hideFormatter',
                                    width: 65
                                },
                                {
                                    field: 'Id',
                                    title: '操作',
                                    formatter: 'actionFormatter',
                                    width: 140
                                }
                                ]
                            });
                        };

                        //得到查询的参数
                        oTableInit.queryParams = function (params) {
                            var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
                                limit: params.limit,   //页面大小
                                page: (params.offset / params.limit)+1,  //页码
                                kid: $("#kid").val(),
                                keyword: $("#keyword").val(),
                                isshowsub: $("#isshowsub").prop("checked") ? 1 : 0
                            };
                            return temp;
                        };
                        return oTableInit;
                    };

                    function actionFormatter(value, row, index) {
                        return [
                            //'<a href="javascript:;" class="btn btn-xs btn-success" title="获取二维码" onclick="getQRCode(' + value + ')"><i class="fa fa-qrcode"></i> 二维码</a> ',
                            '<a href="javascript:;" class="btn btn-xs btn-primary" title="编辑" onclick="top.showDialog(\'eidtproduct\', \'编辑商品详情\', \'/AdminCP/Product/EditProduct/' + value + '\', 0, 0)"><i class="fa fa-edit"></i> 编辑</a>',
                        '<a href="javascript:;" class="btn btn-xs btn-danger m-l-xs" title="删除" onclick="doDel(\'/AdminCP/Product/DelProduct\',' + value + ');"><i class="fa fa-close"></i> 删除</a>',
                        ].join('');
                    }

                    function newFormatter(value, row, index) {
                        if (value == 1) {
                            return '<i class="fa fa-circle-o"></i>';
                        } else {
                            return '';
                        }
                    }

                    function recommendFormatter(value, row, index) {
                        if (value == 1) {
                            return '<i class="fa fa-star"></i>';
                        } else {
                            return '';
                        }
                    }
                    function hideFormatter(value, row, index) {
                        if (value == 1) {
                            return '<i class="fa fa-eye-slash"></i>';
                        } else {
                            return '';
                        }
                    }


                    var ButtonInit = function () {
                        var oInit = new Object();
                        var postdata = {};

                        oInit.Init = function () {
                            //初始化页面上面的按钮事件
                        };

                        return oInit;
                };
                function doSaveSequence(id) {
                    var rank = $("#ac_rank_" + id).val();
                    if (rank == '') {
                        layer.alert("请输入排序！", { icon: 2 });
                        return false;
                    }
                    //console.log(rank);
                    if (!isInt(rank)) {
                        layer.alert("排序只能是数字！", { icon: 2 });
                        return false;
                    }
                    var loading = layer.load(0, {
                        shade: [0.2, '#000'] //0.1透明度的背景
                    });
                    $.ajax({
                        type: "POST",
                        url: "/AdminCP/Product/DoEditProductSequence",
                        data: { id: id, rank: rank },
                        dataType: "JSON",
                        success: function (data) {
                            if (data.status == "success") {
                                layer.close(loading);
                                layer.msg(data.message, {
                                    time: 1000 //2秒关闭（如果不配置，默认是3秒）
                                }, function () {
                                    //window.location.href = window.location.href;
                                });
                            } else {
                                layer.close(loading);
                                layer.alert(data.message, { icon: 2 });
                            }
                        },
                        error: function () {
                            layer.close(loading);
                            layer.alert('执行错误，请联系管理员！', { icon: 2 });
                        }
                    });
                }
            </script>
        </div>
    </div>


</div>
